
import os
import sys
import shutil
import tempfile

def extract_locales():
    """在运行时释放 locales 目录到当前工作目录"""
    try:
        # 获取当前工作目录
        current_dir = os.getcwd()
        target_locales = os.path.join(current_dir, 'locales')

        # 如果目标目录已存在，先删除
        if os.path.exists(target_locales):
            shutil.rmtree(target_locales)

        # 从exe中提取locales目录
        if hasattr(sys, '_MEIPASS'):
            # PyInstaller 临时目录
            source_locales = os.path.join(sys._MEIPASS, 'locales')
            if os.path.exists(source_locales):
                shutil.copytree(source_locales, target_locales)
                print(f"✅ locales 目录已释放到: {target_locales}")
            else:
                print("⚠️ 在exe中未找到locales目录")
        else:
            print("⚠️ 非打包环境，跳过locales释放")

    except Exception as e:
        print(f"❌ 释放locales目录失败: {e}")

# 在应用启动时自动释放
extract_locales()
